草庐IT

Java OutOfMemoryError 奇怪的行为

全部标签

c++ - 指针和 std::string - 奇怪的行为 - C++

我提前道歉,因为我在之前的帖子中问过同样的问题,但正如有人正确指出的那样,我没有发布真正的代码。因此,我再次问同样的问题,试图比以前更清楚。作为练习,我正在创建一个操作字符串的程序。特别是,我想删除包含在2个“*”之间的部分字符串。我必须强调,我已经使用库字符串的函数成功地创建了相同的程序;事实上,问题涉及使用char指针对给定字符串的操作。我将发布完整的代码并进行深入讨论。#include#includeusingnamespacestd;intmain(){stringfrase;getline(cin,frase);//Takesasinputthephraseintsize=f

c++ - 此 C++ 代码包含哪些未定义的行为

我在阅读EffectiveC++(第三版)第11条后编写了这段代码。#includeusingnamespacestd;#defineMAX_COLORS20classWidget{public:Widget(intseed);~Widget();Widget&operator=(constWidget&rhs);voidToString();private:Widget&SelfAssignmentUnsafe(constWidget&rhs);Widget&SelfAssignmentSafe(constWidget&rhs);Widget&SelfAssignmentAndExc

c++ - ComboBoxEx32 (CComboBoxEx) 键盘行为

我有一个WTL应用程序,它使用具有CBS_DROPDOWNLIST样式的扩展组合框控件(Win32类ComboBoxEx32)。它运行良好(我可以针对框中的每个项目设置图像)但键盘行为与普通组合框不同-按下一个键不会跳转到组合中以该字母开头的第一个项目。例如,如果我将字符串“Arnold”、“Bob”和“Charlie”添加到组合中,如果我随后选择该组合并按“B”,则不会选择“Bob”。有谁知道如何使这个工作?目前我能想到的唯一想法是以某种方式子类化“实际”组合框(我可以使用CBEM_GETCOMBOCONTROL消息获取此句柄)并处理WM_CHARTOITEM。这是一个PITA,所以

c++ - g++ 奇怪的警告

在我开始回答一个SO问题的玩具项目时,我被一个我不理解的g++警告淹没了。format.hpp:230:warning:dereferencingpointer‘’doesbreakstrict-aliasingrules在互联网上搜索我得到的印象是这可能是一个g++错误;它真的是一个错误吗?如果是,是否有任何解决方法?完整的源代码太大而无法包含,但是isavailablehere.这是触发警告的部分...templateclassValueWrapper:publicValueWrapperBase{public:Tx;ValueWrapper(constT&x):x(x){}vir

c++ - gcc 4.6 编译器的奇怪行为

这段代码:templateclassInt_Core{static_assert(Check_Range::check(Min,std::numeric_limits::min()),"INCORRECTMinrange.");static_assert(Check_Range::check(Max,std::numeric_limits::max()),"INCORRECTMaxrange.");}我得到的错误是在第二个static_assert上告诉我使用了非常量表达式。但是如果我在第二个断言中将“Max”更改为“Min”,它确实可以毫无问题地编译。怎么回事?错误:错误:静态断言的

c++ - C++03 seekoff() 和 seekpos() 规范中的奇怪之处

我正在创建自己的streambuf子类并使用C++03规范(ISO/IEC14882:2003)作为引用。在第27.5.2.4.2节[lib.streambuf.virt.buffer]中,basic_streambuf::seekoff()和basic_streambuf::seekpos()说:Defaultbehavior:Returnspos_type(off_type(-1)).现在,我认为off_type应该是有符号整数类型而pos_type应该是无符号整数类型,所以在我看来这个表达式必须等同于pos_type(-1)。但假设我弄错了,这些类型可能是有符号和无符号的一些其他

c++ - 在模板中提取常见的类行为

我发现在我的程序中我需要让几个类使用以下通用模式。其背后的想法是resource_mgr维护一个指向resource对象的引用计数指针列表,并专门控制它们的生命周期。客户端不能创建或删除resource实例,但可以从resource_mgr请求它们。classresource_impl{public://...private:resource_impl(...);~resource_impl();//...friendclassresource_mgr;}classresource_mgr{public://...shared_ptrnew_resource(...);private:

c++ - 奇怪的段错误

对不起,我知道这是StackOverflow上的第无数个段错误帖子,但我已经尝试了几天来修复这段代码,但我很困惑,所以我决定求助于你们。希望对您有所帮助!无论如何,我在这段代码中遇到了一个奇怪的段错误:account.h(注意,根据作业,无论如何我都不允许修改account.h文件。:)classaccount{public:typedefchar*string;staticconstsize_tMAX_NAME_SIZE=15;//CONSTRUCTOR//account();account(char*i_name,size_ti_acnum,size_ti_hsize);accou

c++ - 如何在不调用实现定义的行为的情况下将二进制数据写入文件?

我正在编写这样的程序,将一些字节写入文件。#includeintmain(){charbuffer[4]={0,0,255,255};std::ofstreamf("foo.txt",std::ios_base::binary);f.write(buffer,sizeofbuffer);f.close();return0;}这工作正常,并在我的系统上给出了预期的结果。$g++-std=c++11-pedantic-Wall-Wextrasignedness.cc$./a.out$catfoo.txt$od-tx1foo.txt00000000000ffff0000004等效的C代码是:

java - 发生整数溢出时无符号整数和有符号整数的行为差异

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。在维基百科上阅读这篇关于IntegerOverflow的文章我不太明白为什么有符号整数的溢出会导致未定义的行为,而无符号整数的溢出会导致回绕。为什么它们的行为会有所不同?另一个问题:一般的编程语言是否有任何防止整数溢出的保护措施?